import Vue from 'vue'
import Vuex from 'vuex'
import user from './modules/user'
import cart from './modules/cart'
Vue.use(Vuex)

export default new Vuex.Store({
  state: {},
  mutations: {},
  actions: {},
  getters: { // 可以看作状状态管理器的计算属性
    showNum (state) { // 控制底部选项卡中数量显示还是不显示
      // state 这个参数其实就是 所有的状态
      return state.user.isLogin
    },
    totalNum (state) {
      return state.cart.cartList && state.cart.cartList.reduce((sum, item) => {
        return item.flag ? sum + item.num : sum + 0
      }, 0)
    },
    totalPrice (state) {
      return state.cart.cartList && state.cart.cartList.reduce((sum, item) => {
        return item.flag ? sum + item.originprice * item.num : sum + 0
      }, 0) * 100
    }
  },
  modules: {
    user,
    cart
  }
})
